-- $Id$
-- $Source$
-- *****************************************************************
-- Definition of managed objects that describe a DSL CPE and
-- support the Modem Management Interface (MMI).
--
-- March 2000, Patrick Gili
--
-- Copyright (c) 2001 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
-- $Log$
-- *****************************************************************
-- $Endlog$

--%DNP% ENG-59649

CISCO-DSL-CPE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Integer32,
    Gauge32,
    MODULE-IDENTITY,
    OBJECT-TYPE                     FROM SNMPv2-SMI
    AutonomousType                  FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP                    FROM SNMPv2-CONF
    ciscoCibMmiGroup                FROM CISCO-SMI
    InterfaceIndexOrZero,
    ifIndex                         FROM IF-MIB
    SnmpAdminString                 FROM SNMP-FRAMEWORK-MIB
    ImageIndex                      FROM CISCO-DSL-CPE-IMAGE-PROV-MIB
    AlarmList,
    AlarmSeverityOrZero,
    AlarmType                       FROM CISCO-ENTITY-ALARM-MIB
    ;

ciscoDslCpeMIB MODULE-IDENTITY
    LAST-UPDATED   "200011012246Z" -- November 1, 2000 05:46 PM
    ORGANIZATION   "Cisco Systems, Inc."
    CONTACT-INFO   "Cisco System
                    Customer Service

                    Postal: 170 W Tasman Drive
                    San Jose, CA 95134

                    Tel: +1 800 555-NETS

                    E-mail: cs-xdsl@cisco.com"
    DESCRIPTION
        "This MIB modules defines the managed objects that describe a
        DSL CPE and support the Modem Management Interface (MMI) to the
        proxy element function.

        *** ABBREVIATIONS, ACRONYMS, AND SYMBOLS ***
    
        CPE - Customer Premise Equipment
    
        DSL - Digital Subscriber Loop

        DSLAM - Digital Subscriber Loop Access Multiplexor
    
        MMI - Modem Management Interface
    
        *** DEFINITIONS ***
    
        DSL CPE
            A device that internetworks a customer premise network
            with a DSL provider's network.
    
        MODEM MANAGEMENT INTERFACE
            An interface between the proxy element function and DSL
            CPEs that provides a network management framework for the
            management of DSL CPEs.  In concept, this interface is
            similar to the ILMI (Integrated Local Management Interface)
            defined by the ATM Forum (af-ilmi-0065.000).  Like the ILMI,
            it consists of an AAL5 transport mapping for SNMP messages,
            a collection of MIB modules, and elements of procedure
            defining the behavior of the interface.
            
        PROXY ELEMENT
            A host of the proxy element function.
        
        PROXY ELEMENT FUNCTION
            A subsystem consisting of the MMI and a SNMP proxy forwarder
            application.  This subsystem enables massively scalable 
            management of the DSL CPEs attached to a provider's network.
        "
    REVISION      "200011012246Z" -- November 1, 2000 05:46 PM
    DESCRIPTION
        "Initial revision of this MIB module."
    ::= { ciscoCibMmiGroup 1 }

-- Textual Conventions

-- MIB Object Definitions

ciscoDslCpeMIBObjects OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIB 1 }

cdcAssetGroup OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBObjects 1 }

cdcAutoConfGroup OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBObjects 2 }

cdcImageGroup OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBObjects 3 }

cdcAlarmGroup OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBObjects 4 }

cdcIfGroup OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBObjects 5 }

-- Asset Group

cdcAssetVendorType OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the vendor type assigned to the DSL CPE
        (see the ENTITY-MIB for further details).  If the DSL CPE does
        not have an assigned vendor type, then the value of this object
        must be the null identifier."
    REFERENCE
        "A. Bierman and K. McCloghrie, 'Entity MIB using SMIv2',
        RFC 2037, October 1996."
    ::= { cdcAssetGroup 1 }

cdcAssetOemString OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the Original Equipment Manufacturer (OEM)
        of the DSL CPE.  If the DSL CPE does not have an OEM, or the OEM
        is not known, then the value of this object must be a zero-
        length string."
    ::= { cdcAssetGroup 2 }

cdcAssetSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the serial number assigned to the DSL
        CPE.  If the DSL CPE does not have an assigned serial number,
        or the serial number is not known, then the value of this
        object must be a zero-length string."
    ::= { cdcAssetGroup 3 }

cdcAssetOrderablePartNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the part number that can be used to order
        this particular model DSL CPE.  If the DSL CPE does not have an
        orderable part number, or the part number is not known, then the
        value of this object must be a zero-length string."
    ::= { cdcAssetGroup 4 }
    
cdcAssetHardwareRevision OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the engineering design revision of the
        hardware comprising the DSL CPE.  If the DSL CPE does not have
        a hardware revision, or the hardware revision in not known, then
        the value of this object must be a zero-length string."
    ::= { cdcAssetGroup 5 }

cdcAssetMfgAssyNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the manufacturing assembly number
        assigned to this model DSL CPE.  If the DSL CPE does not have
        a manufacturing assembly number, or the manufacturing assembly
        number is not known, then the value of this object must be a
        zero-length string."
    ::= { cdcAssetGroup 6 }

cdcAssetMfgAssyRevision OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the revision of the manufacturing
        assembly comprising the DSL CPE.  If the DSL CPE does not have a
        manufacturing assembly revision, or the manufacturing assembly
        revision is not known, then the value of this object must be a
        zero-length string."
    ::= { cdcAssetGroup 7 }

cdcAssetClei OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0|10))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the Common Language Equipment Identifier
        (CLEI) code assigned to the DSL CPE.  If the DSL CPE does not
        have a CLEI code, or the CLEI code is not know, then the value
        of this object must be zero-length string."
    REFERENCE
        "Bellcore Technical reference GR-485-CORE, COMMON LANGUAGE
        Equipment Processes and Guidelines, Issue 2, October, 1995."
    ::= { cdcAssetGroup 8 }

cdcAssetTag OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object serves as an 'alias' for the DSL CPE.  A manager
        provider the value of this object.

        When first instantiated, the value of this object is a zero-
        length string.  However, the DSL CPE may set the value to a
        locally unique default value (which may be internally 
        generated by the DSL CPE), instead of a zero-length string.

        If the implementation provides write-access to this object, and
        and a manager writes a value to this object, then the DSL CPE
        must retain the supplied value across re-initializations and
        reboots."
    ::= { cdcAssetGroup 9 }

cdcAssetBrandID OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the brand identifier assigned to the
        DSL CPE (see the CISCO-DSL-CPE-BRAND-PROV-MIB for further
        details).  If the DSL CPE has not been branded, then the value
        of this object must be a zero-length string."
    ::= { cdcAssetGroup 10 }

-- Automatic Configuration Group

cdcAutoConfRestartRequired OBJECT-TYPE
    SYNTAX      INTEGER {
        noRestartRequired(1),
        coldRestartRequired(2),
        warmRestartRequired(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Following the MMI automatic configuration procedure or the MMI
        dynamic configuration procedure, the DSL CPE attempts to apply
        the configuration.  If the can not apply the configuration (or
        configuration changes) without being restart, and the value of
        cdcpEntityMmiConfChangeReboot.0 is 'manual', then this object
        specifies the result of this attempt:
        
        'noRestartRequired'
            This value indicates that the DSL CPE successfully applied
            the configuration (or configuration changes) without the
            need to restart.
            
        'coldRestartRequired'
            This value indicates that the DSL CPE can not apply the
            configuration (or configuration changes) without a cold
            restart.
            
        'warmRestartRequired'
            This value indicates that the DSL CPE can not apply the
            configuration changes without a warm restart.  This can
            only happen following the MMI dynamic configuration
            procedure (as the MMI automatic configuration procedure
            performs a warm restart).
            
         The description of the cdcAutoConfRestart object explains the
         difference between cold and warm restart."
    ::= { cdcAutoConfGroup 1 }

cdcAutoConfRestart OBJECT-TYPE
    SYNTAX      INTEGER {
        noRestart(1),
        coldRestart(2),
        warmRestart(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies a restart action to be taken by the
        DSL CPE:
        
        'noRestart'
            When an SNMP entity retrieves the value of this object,
            this is the value returned by the DSL CPE.  This value
            can not be written to the object, as this would serve
            no valuable purpose.
            
        'coldRestart'
            When an SNMP entity writes this value to this object, the
            DSL CPE performs an MMI cold restart procedure.  This 
            procedure has the same effect as a reset condition.  This
            object can never have this value.
        
        'warmRestart'
            When an SNMP entity writes this value to this object, the
            DSL CPE performs an MMI warm restart procedure.  This 
            procedure performs a soft reset that has the intention of
            recreating the same circumstances that exist before the
            DSL CPE performs the MMI automatic configuration procedure
            during initialization.
            
         One of the important distinction between cold and warm restart
         is that warm restart does not require the DSL CPE to 
         reinitialize its xDSL line interface."
    ::= { cdcAutoConfGroup 2 }

cdcAutoConfLogCount OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the number of errors logged by the DSL
        CPE during the last MMI automatic configuration procedure or
        MMI dynamic configuration procedure."
    ::= { cdcAutoConfGroup 3 }

cdcAutoConfLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CdcAutoConfLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the errors logged by the DSL CPE during the
        last MMI automatic configuration procedure or MMI dynamic
        configuration procedure."
    ::= { cdcAutoConfGroup 4 }

cdcAutoConfLogEntry OBJECT-TYPE
    SYNTAX      CdcAutoConfLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The description of an error logged by the DSL CPE during the
        last MMI automatic configuration procedure or MMI dynamic
        configuration procedure."
    INDEX       { cdcAutoConfLogIndex }
    ::= { cdcAutoConfLogTable 1 }

CdcAutoConfLogEntry ::= SEQUENCE {
    cdcAutoConfLogIndex     Integer32,
    cdcAutoConfLogOID       OBJECT IDENTIFIER,
    cdcAutoConfLogErrorMsg  SnmpAdminString
}

cdcAutoConfLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary integer-value than unique identifies this log
        entry."
    ::= { cdcAutoConfLogEntry 1 }

cdcAutoConfLogOID OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the object identifier of the offending
        variable described by this log entry.  It may not always be
        possible for a DSL CPE to describe a configuration error in
        the context of single variable.  In these cases, the DSL CPE
        should specify the object identifier of the variable that will
        best serve the purpose of troubleshooting.  It may not always
        be possible for a DSL CPE to describe a configuration error
        in terms of a variable.  In these cases, the DSL CPE should
        specify the null identifier."
    ::= { cdcAutoConfLogEntry 2 }

cdcAutoConfLogErrorMsg OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies a human-readable message describing this
        log entry.  The message should convey information that will be
        helpful in diagnosing the configuration problem."
    ::= { cdcAutoConfLogEntry 3 }

-- Image Group

cdcImageTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CdcImageEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the images contained by the DSL CPE that can
        be provisioned through the proxy element function."
    ::= { cdcImageGroup 1 }

cdcImageEntry OBJECT-TYPE
    SYNTAX      CdcImageEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A description of an image contained by the DSL CPE that can be
        provisioned through the proxy element function."
    INDEX       { cdcImageIndex }
    ::= { cdcImageTable 1 }

CdcImageEntry ::= SEQUENCE {
    cdcImageIndex       ImageIndex,
    cdcImageID          SnmpAdminString,
    cdcImageRevision    SnmpAdminString
}

cdcImageIndex OBJECT-TYPE
    SYNTAX      ImageIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An arbitrary integer-value that uniquely identifies the image
        with respect to the DSL CPE.  This value serves as a 'file
        handle' of a sort.  For example, a low-end DSL CPE may support
        three images:
        
        image index  application
        -----------  -----------
             1       boot firmware image
             2       operational firmware image
             3       operational firmware image backup
             4       configuration file
             
        A manager can provision any image contained by a DSL CPE for
        which the DSL CPE assigns an image index.
        
        Observe that it is highly likely that the application of an
        image varies between DSL CPEs of different vendor and/or
        model."
    ::= { cdcImageEntry 1 }

cdcImageID OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies an identifier for this image.  A vendor
        typically embeds this information in the image.
    
        Observe that this value is not a file or image name.  It does
        not necessarily provide a value that uniquely identifies an
        image with respect to a DSL CPE.  For example, consider the
        same low-end DSL CPE described above.  It is possible that the
        images contained by this DSL CPE with the image indices of 2
        and 3 have the same image identifier."
    ::= { cdcImageEntry 2 }

cdcImageRevision OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the revision for this image.  A vendor
        typically embeds this information in the image."
    ::= { cdcImageEntry 3 }

cdcImageXfrIndex OBJECT-TYPE
    SYNTAX      ImageIndex
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The object specifies the image index assigned with the image
        being transferred.  If there is no transfer in progress, then
        the value of this object must be '0'."
    ::= { cdcImageGroup 2 }

cdcImageXfrOperation OBJECT-TYPE
    SYNTAX      INTEGER {
        idle(1),
        read(2),
        write(3),
        abort(4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the type of image transfer being
        performed:
        
        'idle'
            Specifies that no transfer is in progress.  It is not
            possible to write this value to this object.
        
        'read'
            Specifies that a read transfer is in progress (i.e., an
            image is being transferred from the DSL CPE to the proxy
            element function).
            
            The proxy element function can initiate a read transfer by
            setting the value of cdcImageXfrIndex to the image index of
            the image being read, and the value of this object to
            'read'.
            
        'write'
            Specifies that a write transfer is in progress (i.e., an
            image is being transferred from the proxy element function
            to the DSL CPE).
            
            The proxy element function can initiate a write transfer by
            setting the value of cdcImageXfrIndex to the image index of
            the image being written, and the value of this object to 
            'write'.
            
        'abort'
            The proxy element function can abort a transfer by setting
            the value of this object to 'abort'.  This object will never
            returned by the DSL CPE in response to a request to retrieve
            this object."
    ::= { cdcImageGroup 3 }

cdcImageXfrStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        pending(1),
        success(2),
        aborted(3),
        unrecognizedImage(4),
        readFailure(5),
        writeFailure(6),
        executeFailure(7)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "If a transfer is in progress, then this object specifies the
        status of this transfer operation.  If a transfer is not in 
        progress, then this object specifies the status of the last
        transfer operation.
        
        'pending'
            Specifies that an image transfer is in progress.
            
        'success'
            Specifies that the last image transfer succeeded.
            
        'aborted'
            Specifies that the proxy element function aborted the last
            image transfer by setting the value of cdcImageXfrOperation
            to 'abort'.
            
        'unrecognizedImage'
            Specifies that the last image transfer failed because the
            proxy element function attempted to transfer an image the
            DSL CPE doesn't specify in its cdcImageTable.
            
        'readFailure'
            Specifies that the last image transfer failed due to a read
            failure; that is, the DSL CPE failed to read a block of data
            from the image being transferred.
            
        'writeFailure'
            Specifies that the last image transfer failed due to a write
            failure; that is, the DSL CPE failed to write a block of
            data to the image being transferred.
            
        'executeFailure'
            Specifies that the last image transfer from the proxy
            element function to the DSL CPE failed due to a variety
            of post-transfer checks (e.g., checksum failure)."
    ::= { cdcImageGroup 4 }

cdcImageXfrBlockNumber OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the sequence number of the block being
        transferred.  For 'read' operations, the proxy element function
        must set this object before reading cdcImageXfrBlockData.  For
        'write' operations, the proxy element function must set this
        object in conjunction with cdcImageXfrBlockData."
    ::= { cdcImageGroup 5 }

cdcImageXfrBlockData OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..512))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies a block of data being transferred.  For
        'read' operations, the proxy element function must set
        cdcImageXfrBlockNumber before reading this object.  For 'write'
        operations, the proxy element function must set this object in
        conjunction with cdcImageXfrBlockNumber."
    ::= { cdcImageGroup 6 }

-- Alarm Group

cdcAlarmDescrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CdcAlarmDescrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains a description for each alarm type defined
        by the DSL CPE.  Observe that this table may be sparse in
        nature, as it is rarely the case that a DSL CPE needs to define
        every alarm in its alarm space."
    ::= { cdcAlarmGroup 1 }

cdcAlarmDescrEntry OBJECT-TYPE
    SYNTAX      CdcAlarmDescrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A description of an alarm type defined by the DSL CPE."
    INDEX       { cdcAlarmDescrAlarmType }
    ::= { cdcAlarmDescrTable 1 }

CdcAlarmDescrEntry ::= SEQUENCE {
    cdcAlarmDescrAlarmType              AlarmType,
    cdcAlarmDescrRecommendedSeverity    AlarmSeverityOrZero,
    cdcAlarmDescrText                   SnmpAdminString
}

cdcAlarmDescrAlarmType OBJECT-TYPE
    SYNTAX      AlarmType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object specifies the alarm type assigned to this alarm."
    ::= { cdcAlarmDescrEntry 1 }

cdcAlarmDescrRecommendedSeverity OBJECT-TYPE
    SYNTAX      AlarmSeverityOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies the recommended severity assigned to this
        alarm."
    ::= { cdcAlarmDescrEntry 2 }

cdcAlarmDescrText OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies a human-readable message describing this
        alarm."
    ::= { cdcAlarmDescrEntry 3 }

cdcAlarmList OBJECT-TYPE
    SYNTAX      AlarmList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object specifies those alarms currently being asserted
        by the DSL CPE.  Note, an alarm indicates a condition, not an
        event.  An alarm has two states:

        'asserted'
            Indicates that the condition described by the alarm exists.

        'cleared'
            Indicates that the condition described by the alarm does not
            exist.

        If an alarm is being asserted by the DSL CPE, then the
        corresponding bit in the alarm list is set to a one. Observe
        that if the DSL CPE is not currently asserting any alarms, then
        the list will have a length of zero."
    ::= { cdcAlarmGroup 2 }

-- Interface Group

cdcIfTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CdcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table maps the ifIndex values (see the IF-MIB for further
        details) assigned to each interface to cdcpIfIndex values (see
        the CISCO-DSL-CPE-PROV-MIB for further details) assigned to
        provisioned interfaces specified by the cdcpIfTable maintained
        by the proxy element function."
    REFERENCE
        "F. Kastenholz and K. McCloghrie, 'The Interfaces Group MIB
        using SMIv2', RFC 2233, November 1997."
    ::= { cdcIfGroup 1 }

cdcIfEntry OBJECT-TYPE
    SYNTAX      CdcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A mapping from a ifIndex value to cdcpIfIndex value."
    INDEX       { ifIndex }
    ::= { cdcIfTable 1 }

CdcIfEntry ::= SEQUENCE {
    cdcIfIndex  InterfaceIndexOrZero
}

cdcIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The cdcpIfIndex value assigned to the provisioned interface
        that the DSL CPE has mapped to the interface."
    ::= { cdcIfEntry 1 }

-- MIB Notification Definitions

ciscoDslCpeMIBNotificationsPrefix OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIB 2 }

ciscoDslCpeMIBNotifications OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBNotificationsPrefix 0 }

-- MIB Conformance Statements

ciscoDslCpeMIBConformance OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIB 3 }

ciscoDslCpeMIBCompliances OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBConformance 1 }

ciscoDslCpeMIBGroups OBJECT IDENTIFIER
    ::= { ciscoDslCpeMIBConformance 2 }

-- Compliance

ciscoDslCpeMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "This compliance statement applies to any DSL CPE supporting the
        MMI.  Implementation of this MIB module is strongly recommended
        for any DSL CPE."

    MODULE -- this module
        MANDATORY-GROUPS {
            cdcBasicGroup
        }

    ::= { ciscoDslCpeMIBCompliances 1 }

-- Units of Conformance

cdcBasicGroup OBJECT-GROUP
    OBJECTS {
        cdcAssetVendorType,
        cdcAssetOemString,
        cdcAssetSerialNumber,
        cdcAssetOrderablePartNumber,
        cdcAssetHardwareRevision,
        cdcAssetMfgAssyNumber,
        cdcAssetMfgAssyRevision,
        cdcAssetClei,
        cdcAssetTag,
        cdcAssetBrandID,
        cdcAutoConfRestartRequired,
        cdcAutoConfRestart,
        cdcAutoConfLogCount,
        cdcAutoConfLogOID,
        cdcAutoConfLogErrorMsg,
        cdcImageID,
        cdcImageRevision,
        cdcImageXfrIndex,
        cdcImageXfrOperation,
        cdcImageXfrStatus,
        cdcImageXfrBlockNumber,
        cdcImageXfrBlockData,
        cdcAlarmDescrRecommendedSeverity,
        cdcAlarmDescrText,
        cdcAlarmList,
        cdcIfIndex
    }
    STATUS      current
    DESCRIPTION
        "A collection of managed objects that describe a DSL CPE and
        support the MMI."
    ::= { ciscoDslCpeMIBGroups 1 }

END